// pages/message/message.js
const app = getApp()
//初始化数据库
const db = wx.cloud.database()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    favoriteList: [],
    logged:false,

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (app.userInfo._id) {
        db.collection('favorites').where({
            list: app.userInfo._id
        }).get().then((res) => {
            const favoriteIds = res.data.map(item => item.userId);
            if (favoriteIds.length > 0) {
                db.collection('users').where({
                    _id: db.command.in(favoriteIds)
                }).get().then((userRes) => {
                    this.setData({
                        logged: true, // 修正语法错误
                        favoriteList: userRes.data
                    });
                    console.log("列表", this.data.favoriteList); // 使用 this.data.favoriteList 来获取更新后的值
                });
            } else {
                this.setData({
                    logged: true,
                    favoriteList: []
                });
                console.log("列表", []);
            }
        });
      } else {
          this.setData({
              logged: false,
              favoriteList: []
          });
          console.log("列表", []);
      }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
   // console.log(' app.userMessage'+ app.userMessage)

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  handleCancelFavorite(ev) {
    const favoriteId = ev.currentTarget.dataset.favoriteId;
    const userId = app.userInfo._id;
    //console.log("数据"+favoriteId+"jia "+userId)

    // 从 favorites 集合中找到对应的收藏记录并更新 list 数组
    db.collection('favorites').where({
      userId: favoriteId,
      list: userId
    }).get().then((res) => {
      if (res.data.length > 0) {
        const favoriteDocId = res.data[0]._id;
        db.collection('favorites').doc(favoriteDocId).update({
          data: {
            list: db.command.pull(userId)
          }
        }).then(() => {
          // 更新成功后，重新获取收藏列表
          this.onLoad();
          wx.showToast({
            title: '取消收藏成功',
          });
        }).catch((err) => {
          console.error('取消收藏失败', err);
          wx.showToast({
            title: '取消收藏失败',
            icon: 'none'
          });
        });
      }
    }).catch((err) => {
      console.error('查询收藏记录失败', err);
      wx.showToast({
        title: '查询收藏记录失败',
        icon: 'none'
      });
    });
  },
  
})